import {reqGetUser, reqUpdateUser} from '../../api'

const updateForm = document.getElementById('userUpdateForm')
let usernameInp = document.getElementById('username');
let profileInp = document.getElementById('profile');
let idInp = document.getElementById('_id');
let prevImg = document.getElementById('prevImg');

/* 
  读取query参数指定参数名的值
*/
function getQueryValue(name) {
  var str = location.href.split('?');
  var query = str[1];
  var vars = query.split('&');
  for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split('=');
    if (pair[0] == name) {
      return pair[1];
    }
  }
}

/* 
获取要修改的用户信息显示
*/
async function getUser() {
  const id = getQueryValue('id')
  let {data} = await reqGetUser(id);
    
    usernameInp.value = data.username;
    idInp.value = data._id;

    // 需要同步头像
    prevImg.src = 'http://localhost:8081'+data.profile;
}
//初始化数据
getUser()

/* 
处理图片预览
*/
// 预览头像
profileInp.onchange = function(e){
    // 读取文件对象
    let fileReader = new FileReader();
    // 获取文件
    let file = e.target.files[0];
    // 使用base64方式读取文件
    fileReader.readAsDataURL(file);
    // 当文件读取完毕
    fileReader.onload = function(){
        // 获取到 读取完成后的base64数据
       let profile =  fileReader.result;
       //将预览图片的src更新
       prevImg.src = profile;
    }
}

/* 
绑定提交事件
*/
updateForm.onsubmit = async (e) => {
  e.preventDefault()

  const formData = new FormData(updateForm)
  let result =await reqUpdateUser(formData)
	
    if(result.code === 2000){
        alert('更新成功');
        window.location = '/users.html';
    }
}